var row =
	{ 
		init : function()
			{
				this.login = new Ext.form.TextField
		            ({
		                fieldLabel: 'Login',
		                name: 'data['+_PHP_.model+'][login]',
		                allowBlank: false
		            });
		        
		        this.senha = new Ext.form.TextField
		            ({
		                fieldLabel: 'Senha',
		                name: 'data['+_PHP_.model+'][senha]',
		                allowBlank: false,
						autoCreate:	{tag: 'input', type: 'password'}
		            });
					
				this.tries = new Ext.form.Hidden
					({
						name: 'data['+_PHP_.model+'][tries]',
						value: 0
					});
					
				this.senha_hash = new Ext.form.Hidden
					({
						name: 'data['+_PHP_.model+'][senha]'
					});
					
				this.captcha =
					{
	                	xtype: 'recaptcha',
						hidden: true,
						style: 'margin-left:84px; padding:10px',
	                    name: 'recaptcha',
	                    id: 'recaptcha_div',
						publickey: _PHP_.form.recaptcha_key,
	                    theme: 'white',
	                    lang: 'pt'
	                };
					
				var form = application.items.get(0);
				form.on('beforerender', function(_self)
					{
						this.buttons[0].text = 'Login';
						this.buttons = [this.buttons[0]];
						
						this.keys =
							{
							    key: Ext.EventObject.ENTER,
							    fn: function()
									{
										_self.buttons[0].handler.apply(_self);		
									}
							};
						
						this.add(row.login, row.senha, row.senha_hash, row.tries, row.captcha);
					});
				
				var beforeAction = function()
					{
						row.senha.setDisabled(true);
						
						row.senha_hash.setValue(hex_sha1(hex_sha1(row.senha.getValue())+_PHP_.form.hash));
						row.tries.setValue(parseInt(row.tries.getValue()) + 1);

						form.doSubmit();
						
						return false;
					};
				
				form.form.on('beforeaction', beforeAction, this, {single: true});
				form.form.on('actioncomplete', function()
					{
						form.form.on('beforeaction', beforeAction, this, {single: true});
						
						if(parseInt(row.tries.getValue()) > 2)
						{
							Recaptcha.reload();
							Ext.getCmp(row.captcha.id).show();
						}
						
						row.senha.setValue('');
						row.senha.setDisabled(false);
						
						return true;
					});

				if(!Ext.isGecko3) 
				{
					application.on('show', function()
						{
							Ext.MessageBox.show
								({
								   title: 'Atenção',
								   msg: '<p>Você esta usando um navegador diferente do Mozilla Firefox 3. Recomendamos que você utilize esta aplicação somente com o navegador citado.</p><br/><p>Caso deseje continuar mesmo assim, é importante que você esteja ciente de que algumas funcionalidades estarão limitadas e não funcionarão do modo como esperado.</p><br/><p>Para baixar a ultima versão do navegador Mozilla Firefox 3, clique na imagem abaixo:</p><br/><p id="badgeHolder"><a href="http://www.mozilla.com/firefox?from=sfx&uid=0&t=331" target="_blank"><img border="0" alt="Download do Mozilla Firefox 3" src="http://sfx-images.mozilla.org/affiliates/Buttons/firefox3/125x125FF3.png" /></a></p>',
								   width: 400,
								   buttons: Ext.MessageBox.OK
								});
						});
					}
					
				application.setTitle('Administração Contatos - Conectas');
				application.show();
			}
	};